package com.lhn.netty.netty_demo.inboundhandlerandoutboudhhandler;

import io.netty.channel.ChannelInitializer;

import io.netty.channel.ChannelPipeline;
import io.netty.channel.socket.SocketChannel;

/**
 * @author lhn
 * @date 2025/06/11 19:40
 * @since 1.0.0
 **/
public class MyClientInitializer extends ChannelInitializer <SocketChannel> {

    @Override
    protected void initChannel(SocketChannel socketChannel) throws Exception {
        ChannelPipeline pipeline = socketChannel.pipeline();
        // 加入一个出站处理器 对数据进行编码
        // 加入一个自定义的编码器 出站的编码器
        pipeline.addLast("MyLongToByteEncoder", new MyLongToByteEncoder());
        // 添加一个自定义的解码器 入站的解码器
        pipeline.addLast("MyByteToLongDecoder", new MyByteToLongDecoder());
        // 加入一个自定义的解码器 处理业务逻辑
        pipeline.addLast("MyClientHandler", new MyClientHandler());
    }
}